home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / dbcexe / names.cls < prev    next >
Text File  |  1999-03-30  |  18KB  |  461 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.     MultiUse = -1  'True
  4. End
  5. attribute VB_Name = "Names"
  6. Attribute VB_GlobalNameSpace = False
  7. Attribute VB_Creatable = True
  8. Attribute VB_PredeclaredId = False
  9. Attribute VB_Exposed = False
  10. Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
  11. Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
  12. '-- Created in part by DBClass Class Generator, copyright (c) 1997 Dew Design, LLC.
  13. Option explicit
  14.  
  15. Private Const m_CLASSNAME = "Names.cls"
  16. '-- The class default SQL statement.
  17. Private Const CLS_SQL = "SELECT Names.* FROM Names"
  18.  
  19. Private m_SQL As String
  20. Private m_WHERE As String
  21. Private m_lFieldSize As Long
  22. Private m_Recordset As Recordset
  23. Private PropertyUpdates As New Collection
  24.  
  25. '--------------------------------------------------------------------------------------------------------------------------'
  26. '----------   Class Properties   -------------------------------'
  27. '--------------------------------------------------------------------------------------------------------------------------'
  28. Public Property Get ID() As Long
  29.     On Error Resume Next
  30.     ID = PropertyUpdates.Item("ID").Value
  31.     If Err.Number = 0 Then Exit Property
  32.     Err.Number = 0
  33.     On Error GoTo Error_Get_ID
  34.     If Not IsNull(m_Recordset!ID) Then _
  35.     ID = m_Recordset!ID
  36.     Exit Property
  37. Error_Get_ID:
  38.     If Not oError(Err.Number, m_CLASSNAME & " : Get ID") Then Resume
  39. End Property
  40. '--------------------------------------------------------------------------------------------------------------------------'
  41. Public Property Let IsNew(ByVal vData As Boolean)
  42.     MarkPropertyUpdated "IsNew", "IsNew", vData
  43. End Property
  44. Public Property Get IsNew() As Boolean
  45.     On Error Resume Next
  46.     IsNew = PropertyUpdates.Item("IsNew").Value
  47.     If Err.Number = 0 Then Exit Property
  48.     Err.Number = 0
  49.     On Error GoTo Error_Get_IsNew
  50.     If Not IsNull(m_Recordset!IsNew) Then _
  51.     IsNew = m_Recordset!IsNew
  52.     Exit Property
  53. Error_Get_IsNew:
  54.     If Not oError(Err.Number, m_CLASSNAME & " : Get IsNew") Then Resume
  55. End Property
  56. '--------------------------------------------------------------------------------------------------------------------------'
  57. Public Property Let lname(ByVal vData As String)
  58.     m_lFieldSize = m_Recordset!lname.Size
  59.     vData = Trim(vData)
  60.     If Len(vData) > m_lFieldSize Then
  61.          vData = Left(vData, m_lFieldSize)
  62.          MsgBox "This Field is limited to "& m_lFieldSize & " characters in length."
  63.     End If
  64.     MarkPropertyUpdated "lname", "lname", vData
  65. End Property
  66. Public Property Get lname() As String
  67.     On Error Resume Next
  68.     lname = PropertyUpdates.Item("lname").Value
  69.     If Err.Number = 0 Then Exit Property
  70.     Err.Number = 0
  71.     On Error GoTo Error_Get_lname
  72.     If Not IsNull(m_Recordset!lname) Then _
  73.     lname = m_Recordset!lname
  74.     Exit Property
  75. Error_Get_lname:
  76.     If Not oError(Err.Number, m_CLASSNAME & " : Get lname") Then Resume
  77. End Property
  78. '--------------------------------------------------------------------------------------------------------------------------'
  79. Public Property Let fname(ByVal vData As String)
  80.     m_lFieldSize = m_Recordset!fname.Size
  81.     vData = Trim(vData)
  82.     If Len(vData) > m_lFieldSize Then
  83.          vData = Left(vData, m_lFieldSize)
  84.          MsgBox "This Field is limited to "& m_lFieldSize & " characters in length."
  85.     End If
  86.     MarkPropertyUpdated "fname", "fname", vData
  87. End Property
  88. Public Property Get fname() As String
  89.     On Error Resume Next
  90.     fname = PropertyUpdates.Item("fname").Value
  91.     If Err.Number = 0 Then Exit Property
  92.     Err.Number = 0
  93.     On Error GoTo Error_Get_fname
  94.     If Not IsNull(m_Recordset!fname) Then _
  95.     fname = m_Recordset!fname
  96.     Exit Property
  97. Error_Get_fname:
  98.     If Not oError(Err.Number, m_CLASSNAME & " : Get fname") Then Resume
  99. End Property
  100. '--------------------------------------------------------------------------------------------------------------------------'
  101. Public Property Let address(ByVal vData As String)
  102.     m_lFieldSize = m_Recordset!address.Size
  103.     vData = Trim(vData)
  104.     If Len(vData) > m_lFieldSize Then
  105.          vData = Left(vData, m_lFieldSize)
  106.          MsgBox "This Field is limited to "& m_lFieldSize & " characters in length."
  107.     End If
  108.     MarkPropertyUpdated "address", "address", vData
  109. End Property
  110. Public Property Get address() As String
  111.     On Error Resume Next
  112.     address = PropertyUpdates.Item("address").Value
  113.     If Err.Number = 0 Then Exit Property
  114.     Err.Number = 0
  115.     On Error GoTo Error_Get_address
  116.     If Not IsNull(m_Recordset!address) Then _
  117.     address = m_Recordset!address
  118.     Exit Property
  119. Error_Get_address:
  120.     If Not oError(Err.Number, m_CLASSNAME & " : Get address") Then Resume
  121. End Property
  122. '--------------------------------------------------------------------------------------------------------------------------'
  123. Public Property Let city(ByVal vData As String)
  124.     m_lFieldSize = m_Recordset!city.Size
  125.     vData = Trim(vData)
  126.     If Len(vData) > m_lFieldSize Then
  127.          vData = Left(vData, m_lFieldSize)
  128.          MsgBox "This Field is limited to "& m_lFieldSize & " characters in length."
  129.     End If
  130.     MarkPropertyUpdated "city", "city", vData
  131. End Property
  132. Public Property Get city() As String
  133.     On Error Resume Next
  134.     city = PropertyUpdates.Item("city").Value
  135.     If Err.Number = 0 Then Exit Property
  136.     Err.Number = 0
  137.     On Error GoTo Error_Get_city
  138.     If Not IsNull(m_Recordset!city) Then _
  139.     city = m_Recordset!city
  140.     Exit Property
  141. Error_Get_city:
  142.     If Not oError(Err.Number, m_CLASSNAME & " : Get city") Then Resume
  143. End Property
  144. '--------------------------------------------------------------------------------------------------------------------------'
  145. Public Property Let state(ByVal vData As String)
  146.     m_lFieldSize = m_Recordset!state.Size
  147.     vData = Trim(vData)
  148.     If Len(vData) > m_lFieldSize Then
  149.          vData = Left(vData, m_lFieldSize)
  150.          MsgBox "This Field is limited to "& m_lFieldSize & " characters in length."
  151.     End If
  152.     MarkPropertyUpdated "state", "state", vData
  153. End Property
  154. Public Property Get state() As String
  155.     On Error Resume Next
  156.     state = PropertyUpdates.Item("state").Value
  157.     If Err.Number = 0 Then Exit Property
  158.     Err.Number = 0
  159.     On Error GoTo Error_Get_state
  160.     If Not IsNull(m_Recordset!state) Then _
  161.     state = m_Recordset!state
  162.     Exit Property
  163. Error_Get_state:
  164.     If Not oError(Err.Number, m_CLASSNAME & " : Get state") Then Resume
  165. End Property
  166. '--------------------------------------------------------------------------------------------------------------------------'
  167. Public Property Let Filter(vData As String)
  168.     m_Where = vData
  169. End Property
  170. Public Property Get Filter() As String
  171.     Filter = m_Where
  172. End Property
  173. '--------------------------------------------------------------------------------------------------------------------------'
  174. Public Property Let SQL(vData As String)
  175.     m_SQL = vData
  176. End Property
  177. Public Property Get SQL() As String
  178.     SQL = m_SQL
  179. End Property
  180. '--------------------------------------------------------------------------------------------------------------------------'
  181. '----------   Class Methods   ------------------------------'
  182. '--------------------------------------------------------------------------------------------------------------------------'
  183. Public Function Add(Optional addIsNew As String) As Boolean
  184.     '-- Adjust the function parameters to whichever fields need to be passed
  185.     '-- Be sure to include default record specifics below
  186.     Dim iID As Long
  187.     On Error GoTo Error_Add
  188.     CancelUpdate
  189.     BeginTrans
  190.          With m_Recordset
  191.               .AddNew
  192.               '-- Default record specifics here
  193.               '!IsNew = addIsNew
  194.               !IsNew = True
  195.               iID = !ID
  196.               .Update
  197.          End With
  198.     CommitTrans
  199.     Add = True
  200.     If Not FindFirst("ID = " & iID) Then _
  201.          MsgBox "Unable to find the new record!"
  202.     Exit Function
  203. Error_Add:
  204.     If Not oError(Err.Number, m_CLASSNAME & " : Add") Then Resume
  205.     Add = F